var kk = (function() {
  function Tool() {
   
  }

  //@desc是否是苹果移动端
  //@return Boolean
  Tool.prototype.isIos = (function() {
    return !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
  })()

  //@desc 是否是安卓移动端
  //@return Boolean
  Tool.prototype.isAndroid = (function() {
    return navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Linux') > -1;
  }) ()

  //@desc 客户端 GET 请求
  //@method GET
  //@param String url 请求的 URL
  //@param Object data 请求的 query 参数, 没有可传空
  //@param callback String 回调函数的名字,此回调函数会在请求成功之后由客户端调起 
  Tool.prototype.get = function(url, data, callback) {
    var data = {
      requestType: 'GET',
      url: url,
      para: data,
      response: callback
    };
    if (this.isAndroid) {
      keke.commonRequestAction(JSON.stringify(data));
    } else if (this.isIos) {
      window.webkit.messageHandlers.commonRequestAction.postMessage(data);
    }
  }

  //@desc 客户端 POST 请求
  //@method POST
  //@param String url 请求的 URL
  //@param Object data 请求的 query 参数, 没有可传空
  //@param callback String 回调函数的名字,此回调函数会在请求成功之后由客户端调起 
  Tool.prototype.post = function(url, data, callback) {
    var data = {
      requestType: 'POST',
      url: url,
      para: data,
      response: callback
    };
    if (this.isAndroid) {
      keke.commonRequestAction(JSON.stringify(data));
    } else if (this.isIos) {
      window.webkit.messageHandlers.commonRequestAction.postMessage(data);
    }
  }
  
  Tool.prototype.ajaxPost = function(url, query, succCb, failCb, isJson){
    var ajax = new XMLHttpRequest();

    ajax.open("POST", url, true);
    // 设置请求头数据传输格式
    ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    ajax.setRequestHeader("Authorization","9b59f542-c4ae-11ea-9e5f-0242ac110004");
    // 把query拼接成urlencoded

    var str = "";
    for(var key in query){
        str += key + "=" + query[key] + "&";
    }
    str = str.slice(0,-1);

    ajax.send(str);

    ajax.onreadystatechange = function () {
        if(ajax.readyState === 4) {
            if(ajax.status === 200){
                // 判断isJson是否传进来了
                isJson = isJson === undefined ? true : isJson;
                succCb && succCb(isJson ? JSON.parse(ajax.responseText) : ajax.responseText);
            }
        }
    }
  }
  //@desc 唤醒客户端分享
  //@param String img 分享的图片
  //@param String title 分享的标题
  //@param String desc 分享的描述
  //@param String url 分享的链接 
  Tool.prototype.share = function(img, title, desc, url) {
    var data = {
      img: img,
      title: title,
      desc: desc,
      url: url
    };
    if (this.isIos) {
      window.webkit.messageHandlers.shareClicked.postMessage(data);
    } else if (this.isAndroid) {
      keke.shareClicked(data.url, data.img, data.desc, data.title);
    }
  }

  //@desc 唤醒客户端支付
  Tool.prototype.pay = function () {
    if (this.isIos) {
      window.webkit.messageHandlers.rechargeClicked.postMessage('');
    } else if (this.isAndroid) {
      keke.rechargeClicked();
    }
  }

  //@desc 解析 URL 参数部分
  //@return array
  Tool.prototype.$_GET = (function(){
    var url = window.document.location.href.toString();
    var u = url.split("?");
    if(typeof(u[1]) == "string"){
        u = u[1].split("&");
        var get = {};
        for(var i in u){
            var j = u[i].split("=");
            get[j[0]] = j[1];
        }
        return get;
    } else {
        return {};
    }
  })()

  return new Tool();
})()